package com.dragon.modules.yuegou.entity.park;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.park.CouponMerchantRefStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 停车券与商户关系表实体类<br>
 * 对应的表为：park_coupon_merchant_ref<br>
 * 
 * @author px
 * @date 2019-04-18 10:07:33
 * @company sgy
 * @version 2.0
 */
@TableName("park_coupon_merchant_ref")
@ApiModel(description = "停车券与商户关系表")
public class CouponMerchantRefEntity {

    /** 主键 */
	@ApiModelProperty("主键")
	protected String id;

    /**  */
	protected String busdId;

    /**  */
	protected String skuId;

    /** 停车劵id */
	@ApiModelProperty("停车劵id")
	protected String couponTemplate;

    /**  */
	protected String couponTemplateName;

    /** 商户id */
	@ApiModelProperty("商户id")
	protected String merchantId;

    /** 购买数量 */
	@ApiModelProperty("购买数量")
	protected Integer buyNum;

    /** 购买单价 */
	@ApiModelProperty("购买单价")
	protected BigDecimal buyPrice;

    /** 已使用数量 */
	@ApiModelProperty("已使用数量")
	protected Integer useNum;

    /** 购买时间 */
	@ApiModelProperty("购买时间")
	protected LocalDateTime buyTime;

    /** 剩余数量 */
	@ApiModelProperty("剩余数量")
	protected Integer surplus;

    /** 审核人 */
	@ApiModelProperty("审核人")
	protected String checkBy;

    /** 审核时间 */
	@ApiModelProperty("审核时间")
	protected LocalDateTime checkTime;

    /** 审核反馈 */
	@ApiModelProperty("审核反馈")
	protected String checkRs;

    /** 确认数量 */
	@ApiModelProperty("确认数量")
	protected Integer checkNum;

    /** 有效起始时间 */
	@ApiModelProperty("有效起始时间")
	protected LocalDateTime beginTime;

    /** 有效结束时间 */
	@ApiModelProperty("有效结束时间")
	protected LocalDateTime endTime;

    /** 支付现金 */
	@ApiModelProperty("支付现金")
	protected BigDecimal payCash;

    /** 支付时间 */
	@ApiModelProperty("支付时间")
	protected LocalDateTime payTime;

    /** 创建人ID */
	@ApiModelProperty("创建人ID")
	protected String createdBy;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** [枚举]状态：0-待提交-READY、1-未审核-UNCHECK、2-审核通过-PASS、3-已支付-PAYED、4-已失效-INVALID */
	@ApiModelProperty("[枚举]状态：0-待提交-READY、1-未审核-UNCHECK、2-审核通过-PASS、3-已支付-PAYED、4-已失效-INVALID")
	protected CouponMerchantRefStatus status;

	/**
	 * 构造一个空停车券与商户关系表实体对象
	 */
	public CouponMerchantRefEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个停车券与商户关系表实体对象
	 * 
	 * @param other 其它对象
	 */
	public CouponMerchantRefEntity(CouponMerchantRefEntity other){
		super();
     	this.id = other.id;
     	this.busdId = other.busdId;
     	this.skuId = other.skuId;
     	this.couponTemplate = other.couponTemplate;
     	this.couponTemplateName = other.couponTemplateName;
     	this.merchantId = other.merchantId;
     	this.buyNum = other.buyNum;
     	this.buyPrice = other.buyPrice;
     	this.useNum = other.useNum;
     	this.buyTime = other.buyTime;
     	this.surplus = other.surplus;
     	this.checkBy = other.checkBy;
     	this.checkTime = other.checkTime;
     	this.checkRs = other.checkRs;
     	this.checkNum = other.checkNum;
     	this.beginTime = other.beginTime;
     	this.endTime = other.endTime;
     	this.payCash = other.payCash;
     	this.payTime = other.payTime;
     	this.createdBy = other.createdBy;
     	this.createdTime = other.createdTime;
     	this.status = other.status;
	}


	/**
	 * 获取主键
	 * 
	 * @return id 主键
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置主键
	 * 
	 * @param id 主键
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取
	 * 
	 * @return busdId 
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置
	 * 
	 * @param busdId 
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取
	 * 
	 * @return skuId 
	 */
	public String getSkuId() {
		return skuId;
	}
  	
	/**
	 * 设置
	 * 
	 * @param skuId 
	 */
	public void setSkuId(String skuId) {
		this.skuId = skuId;
	}

	/**
	 * 获取停车劵id
	 * 
	 * @return couponTemplate 停车劵id
	 */
	public String getCouponTemplate() {
		return couponTemplate;
	}
  	
	/**
	 * 设置停车劵id
	 * 
	 * @param couponTemplate 停车劵id
	 */
	public void setCouponTemplate(String couponTemplate) {
		this.couponTemplate = couponTemplate;
	}

	/**
	 * 获取
	 * 
	 * @return couponTemplateName 
	 */
	public String getCouponTemplateName() {
		return couponTemplateName;
	}
  	
	/**
	 * 设置
	 * 
	 * @param couponTemplateName 
	 */
	public void setCouponTemplateName(String couponTemplateName) {
		this.couponTemplateName = couponTemplateName;
	}

	/**
	 * 获取商户id
	 * 
	 * @return merchantId 商户id
	 */
	public String getMerchantId() {
		return merchantId;
	}
  	
	/**
	 * 设置商户id
	 * 
	 * @param merchantId 商户id
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取购买数量
	 * 
	 * @return buyNum 购买数量
	 */
	public Integer getBuyNum() {
		return buyNum;
	}
  	
	/**
	 * 设置购买数量
	 * 
	 * @param buyNum 购买数量
	 */
	public void setBuyNum(Integer buyNum) {
		this.buyNum = buyNum;
	}

	/**
	 * 获取购买单价
	 * 
	 * @return buyPrice 购买单价
	 */
	public BigDecimal getBuyPrice() {
		return buyPrice;
	}
  	
	/**
	 * 设置购买单价
	 * 
	 * @param buyPrice 购买单价
	 */
	public void setBuyPrice(BigDecimal buyPrice) {
		this.buyPrice = buyPrice;
	}

	/**
	 * 获取已使用数量
	 * 
	 * @return useNum 已使用数量
	 */
	public Integer getUseNum() {
		return useNum;
	}
  	
	/**
	 * 设置已使用数量
	 * 
	 * @param useNum 已使用数量
	 */
	public void setUseNum(Integer useNum) {
		this.useNum = useNum;
	}

	/**
	 * 获取购买时间
	 * 
	 * @return buyTime 购买时间
	 */
	public LocalDateTime getBuyTime() {
		return buyTime;
	}
  	
	/**
	 * 设置购买时间
	 * 
	 * @param buyTime 购买时间
	 */
	public void setBuyTime(LocalDateTime buyTime) {
		this.buyTime = buyTime;
	}

	/**
	 * 获取剩余数量
	 * 
	 * @return surplus 剩余数量
	 */
	public Integer getSurplus() {
		return surplus;
	}
  	
	/**
	 * 设置剩余数量
	 * 
	 * @param surplus 剩余数量
	 */
	public void setSurplus(Integer surplus) {
		this.surplus = surplus;
	}

	/**
	 * 获取审核人
	 * 
	 * @return checkBy 审核人
	 */
	public String getCheckBy() {
		return checkBy;
	}
  	
	/**
	 * 设置审核人
	 * 
	 * @param checkBy 审核人
	 */
	public void setCheckBy(String checkBy) {
		this.checkBy = checkBy;
	}

	/**
	 * 获取审核时间
	 * 
	 * @return checkTime 审核时间
	 */
	public LocalDateTime getCheckTime() {
		return checkTime;
	}
  	
	/**
	 * 设置审核时间
	 * 
	 * @param checkTime 审核时间
	 */
	public void setCheckTime(LocalDateTime checkTime) {
		this.checkTime = checkTime;
	}

	/**
	 * 获取审核反馈
	 * 
	 * @return checkRs 审核反馈
	 */
	public String getCheckRs() {
		return checkRs;
	}
  	
	/**
	 * 设置审核反馈
	 * 
	 * @param checkRs 审核反馈
	 */
	public void setCheckRs(String checkRs) {
		this.checkRs = checkRs;
	}

	/**
	 * 获取确认数量
	 * 
	 * @return checkNum 确认数量
	 */
	public Integer getCheckNum() {
		return checkNum;
	}
  	
	/**
	 * 设置确认数量
	 * 
	 * @param checkNum 确认数量
	 */
	public void setCheckNum(Integer checkNum) {
		this.checkNum = checkNum;
	}

	/**
	 * 获取有效起始时间
	 * 
	 * @return beginTime 有效起始时间
	 */
	public LocalDateTime getBeginTime() {
		return beginTime;
	}
  	
	/**
	 * 设置有效起始时间
	 * 
	 * @param beginTime 有效起始时间
	 */
	public void setBeginTime(LocalDateTime beginTime) {
		this.beginTime = beginTime;
	}

	/**
	 * 获取有效结束时间
	 * 
	 * @return endTime 有效结束时间
	 */
	public LocalDateTime getEndTime() {
		return endTime;
	}
  	
	/**
	 * 设置有效结束时间
	 * 
	 * @param endTime 有效结束时间
	 */
	public void setEndTime(LocalDateTime endTime) {
		this.endTime = endTime;
	}

	/**
	 * 获取支付现金
	 * 
	 * @return payCash 支付现金
	 */
	public BigDecimal getPayCash() {
		return payCash;
	}
  	
	/**
	 * 设置支付现金
	 * 
	 * @param payCash 支付现金
	 */
	public void setPayCash(BigDecimal payCash) {
		this.payCash = payCash;
	}

	/**
	 * 获取支付时间
	 * 
	 * @return payTime 支付时间
	 */
	public LocalDateTime getPayTime() {
		return payTime;
	}
  	
	/**
	 * 设置支付时间
	 * 
	 * @param payTime 支付时间
	 */
	public void setPayTime(LocalDateTime payTime) {
		this.payTime = payTime;
	}

	/**
	 * 获取创建人ID
	 * 
	 * @return createdBy 创建人ID
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置创建人ID
	 * 
	 * @param createdBy 创建人ID
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取[枚举]状态：0-待提交-READY、1-未审核-UNCHECK、2-审核通过-PASS、3-已支付-PAYED、4-已失效-INVALID
	 * 
	 * @return status [枚举]状态：0-待提交-READY、1-未审核-UNCHECK、2-审核通过-PASS、3-已支付-PAYED、4-已失效-INVALID
	 */
	public CouponMerchantRefStatus getStatus() {
		return status;
	}
  	
	/**
	 * 设置[枚举]状态：0-待提交-READY、1-未审核-UNCHECK、2-审核通过-PASS、3-已支付-PAYED、4-已失效-INVALID
	 * 
	 * @param status [枚举]状态：0-待提交-READY、1-未审核-UNCHECK、2-审核通过-PASS、3-已支付-PAYED、4-已失效-INVALID
	 */
	public void setStatus(CouponMerchantRefStatus status) {
		this.status = status;
	}

    public String toString() {
		return new StringBuilder().append("CouponMerchantRefEntity{").
			append("id=").append(id).
			append(",busdId=").append(busdId).
			append(",skuId=").append(skuId).
			append(",couponTemplate=").append(couponTemplate).
			append(",couponTemplateName=").append(couponTemplateName).
			append(",merchantId=").append(merchantId).
			append(",buyNum=").append(buyNum).
			append(",buyPrice=").append(buyPrice).
			append(",useNum=").append(useNum).
			append(",buyTime=").append(buyTime).
			append(",surplus=").append(surplus).
			append(",checkBy=").append(checkBy).
			append(",checkTime=").append(checkTime).
			append(",checkRs=").append(checkRs).
			append(",checkNum=").append(checkNum).
			append(",beginTime=").append(beginTime).
			append(",endTime=").append(endTime).
			append(",payCash=").append(payCash).
			append(",payTime=").append(payTime).
			append(",createdBy=").append(createdBy).
			append(",createdTime=").append(createdTime).
			append(",status=").append(status).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public CouponMerchantRefEntity copy() {
		return new CouponMerchantRefEntity(this);
	}

    /** 主键 */
	public static final String COL_ID = "id";

    /**  */
	public static final String COL_BUSD_ID = "busd_id";

    /**  */
	public static final String COL_SKU_ID = "sku_id";

    /** 停车劵id */
	public static final String COL_COUPON_TEMPLATE = "coupon_template";

    /**  */
	public static final String COL_COUPON_TEMPLATE_NAME = "coupon_template_name";

    /** 商户id */
	public static final String COL_MERCHANT_ID = "merchant_id";

    /** 购买数量 */
	public static final String COL_BUY_NUM = "buy_num";

    /** 购买单价 */
	public static final String COL_BUY_PRICE = "buy_price";

    /** 已使用数量 */
	public static final String COL_USE_NUM = "use_num";

    /** 购买时间 */
	public static final String COL_BUY_TIME = "buy_time";

    /** 剩余数量 */
	public static final String COL_SURPLUS = "surplus";

    /** 审核人 */
	public static final String COL_CHECK_BY = "check_by";

    /** 审核时间 */
	public static final String COL_CHECK_TIME = "check_time";

    /** 审核反馈 */
	public static final String COL_CHECK_RS = "check_rs";

    /** 确认数量 */
	public static final String COL_CHECK_NUM = "check_num";

    /** 有效起始时间 */
	public static final String COL_BEGIN_TIME = "begin_time";

    /** 有效结束时间 */
	public static final String COL_END_TIME = "end_time";

    /** 支付现金 */
	public static final String COL_PAY_CASH = "pay_cash";

    /** 支付时间 */
	public static final String COL_PAY_TIME = "pay_time";

    /** 创建人ID */
	public static final String COL_CREATED_BY = "created_by";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** [枚举]状态：0-待提交-READY、1-未审核-UNCHECK、2-审核通过-PASS、3-已支付-PAYED、4-已失效-INVALID */
	public static final String COL_STATUS = "status";
}
